草庐IT

[]的C++含义

全部标签

objective-c - 接口(interface)实现中静态变量的含义是什么?

在接口(interface)的实现中定义静态变量时,我不太了解。在方法中,我确实了解它们与局部变量的区别,但不是直接在实现中定义时。看看这些例子。这两者实际上有什么区别?#include"MyClass.h"@implementationMyClassintmyInt;...@end还有:#include"MyClass.h"@implementationMyClassstaticintmyInt;...@endmyInt在这两种情况下对所有方法都是可见的,如果我解释了一个我正确运行的测试,myInt在这两种情况下对于不同的实例都是相同的变量类的。 最佳答案

objective-c - 接口(interface)实现中静态变量的含义是什么?

在接口(interface)的实现中定义静态变量时,我不太了解。在方法中,我确实了解它们与局部变量的区别,但不是直接在实现中定义时。看看这些例子。这两者实际上有什么区别?#include"MyClass.h"@implementationMyClassintmyInt;...@end还有:#include"MyClass.h"@implementationMyClassstaticintmyInt;...@endmyInt在这两种情况下对所有方法都是可见的,如果我解释了一个我正确运行的测试,myInt在这两种情况下对于不同的实例都是相同的变量类的。 最佳答案

objective-c - ARC - __unsafe_unretained 的含义?

只是想确保我做对了:我是否需要__unsafe_unretain我不拥有的对象?如果一个对象是__unsafe_unretained我需要在@property中使用assign吗?这是否意味着该对象没有被保留,而只是引用我分配给的对象?除了代表,我还想在什么时候使用它?这是ARC的东西还是以前使用过? 最佳答案 LLVMCompiler3.0引入了四个新的所有权限定符:__strong、__autoreleasing、__unsafe_unretained和__weak。根据thespecification,前三个甚至在ARC之外也

objective-c - ARC - __unsafe_unretained 的含义?

只是想确保我做对了:我是否需要__unsafe_unretain我不拥有的对象?如果一个对象是__unsafe_unretained我需要在@property中使用assign吗?这是否意味着该对象没有被保留,而只是引用我分配给的对象?除了代表,我还想在什么时候使用它?这是ARC的东西还是以前使用过? 最佳答案 LLVMCompiler3.0引入了四个新的所有权限定符:__strong、__autoreleasing、__unsafe_unretained和__weak。根据thespecification,前三个甚至在ARC之外也

c++ - std::string 上下文中首字母缩写词 SSO 的含义

在aC++questionaboutoptimizationandcodestyle,在优化std::string拷贝的上下文中,有几个答案提到了“SSO”。在这种情况下,SSO是什么意思?显然不是“单点登录”。也许是“共享字符串优化”? 最佳答案 背景/概述对自动变量的操作(“从堆栈”,这是您在不调用malloc/new的情况下创建的变量)通常比那些涉及自由存储(“堆”,这些变量是是使用new创建的)。但是,自动数组的大小在编译时是固定的,但来自自由存储的数组的大小不是。此外,堆栈大小是有限的(通常为几MiB),而免费存储仅受系统

c++ - std::string 上下文中首字母缩写词 SSO 的含义

在aC++questionaboutoptimizationandcodestyle,在优化std::string拷贝的上下文中,有几个答案提到了“SSO”。在这种情况下,SSO是什么意思?显然不是“单点登录”。也许是“共享字符串优化”? 最佳答案 背景/概述对自动变量的操作(“从堆栈”,这是您在不调用malloc/new的情况下创建的变量)通常比那些涉及自由存储(“堆”,这些变量是是使用new创建的)。但是,自动数组的大小在编译时是固定的,但来自自由存储的数组的大小不是。此外,堆栈大小是有限的(通常为几MiB),而免费存储仅受系统

c++ - "Memory allocated at compile time"的真正含义是什么?

在C和C++等编程语言中,人们经常提到静态和动态内存分配。我理解这个概念,但“在编译时分配(保留)所有内存”这句话总是让我感到困惑。据我了解,编译将高级C/C++代码转换为机器语言并输出可执行文件。如何在编译文件中“分配”内存?内存不是总是与所有虚拟内存管理的东西一起分配在RAM中吗?根据定义,内存分配不是运行时概念吗?如果我在我的C/C++代码中创建一个1KB的静态分配变量,这是否会使可执行文件的大小增加相同的数量?这是在“静态分配”标题下使用该短语的页面之一。BackToBasics:Memoryallocation,awalkdownthehistory

c++ - "Memory allocated at compile time"的真正含义是什么?

在C和C++等编程语言中,人们经常提到静态和动态内存分配。我理解这个概念,但“在编译时分配(保留)所有内存”这句话总是让我感到困惑。据我了解,编译将高级C/C++代码转换为机器语言并输出可执行文件。如何在编译文件中“分配”内存?内存不是总是与所有虚拟内存管理的东西一起分配在RAM中吗?根据定义,内存分配不是运行时概念吗?如果我在我的C/C++代码中创建一个1KB的静态分配变量,这是否会使可执行文件的大小增加相同的数量?这是在“静态分配”标题下使用该短语的页面之一。BackToBasics:Memoryallocation,awalkdownthehistory

c++ - = 函数声明后删除的含义

classmy_class{...my_class(my_classconst&)=delete;...};=delete在这种情况下是什么意思?是否还有其他“修饰符”(=0和=delete除外)? 最佳答案 删除函数是aC++11feature:Thecommonidiomof"prohibitingcopying"cannowbeexpresseddirectly:classX{//...X&operator=(constX&)=delete;//DisallowcopyingX(constX&)=delete;};[...]T

c++ - = 函数声明后删除的含义

classmy_class{...my_class(my_classconst&)=delete;...};=delete在这种情况下是什么意思?是否还有其他“修饰符”(=0和=delete除外)? 最佳答案 删除函数是aC++11feature:Thecommonidiomof"prohibitingcopying"cannowbeexpresseddirectly:classX{//...X&operator=(constX&)=delete;//DisallowcopyingX(constX&)=delete;};[...]T